package com.zbkj.client.service;

import com.zbkj.common.model.client.discovery.Contacts;
import com.zbkj.common.response.client.ContactsListResponse;
import com.zbkj.common.response.ClientLoginResponse;
import java.util.List;

public interface ContactsService {
    
    /**
     * 根据用户ID获取通讯录列表
     * @param parentId 父级ID
     * @param userId 用户ID
     * @return 通讯录列表
     */
    List<Contacts> getContactsListByUserId(Integer parentId, Integer userId);

    /**
     * 根据用户ID获取通讯录列表（包含头像信息）
     * @param parentId 父级ID
     * @param userId 用户ID
     * @return 通讯录列表响应对象
     */
    List<ContactsListResponse> getContactsListWithHeadImg(Integer parentId, Integer userId);

    /**
     * 添加到通讯录
     * @param parentId 父级ID
     * @param agentId 代理ID
     * @param userId 用户ID
     * @param merID 商户id
     * @return 是否添加成功
     */
    boolean addContact(Integer parentId, String agentId, Integer userId, Integer merID, String type, String name);

    /**
     * 新建通讯录分组
     * @param parentId 父级ID
     * @param name 分组名称
     * @param userId 用户ID
     * @param merId 商户ID
     * @return 是否创建成功
     */
    boolean addGroupContact(Integer parentId, String name, Integer userId, Integer merId);

    /**
     * 移动通讯录
     * @param parentId 目标父级ID
     * @param id 要移动的记录ID
     * @param userId 用户ID
     * @return 是否移动成功
     */
    boolean moveGroupContact(Integer parentId, Integer id, Integer userId);

    /**
     * 批量删除通讯录
     * @param ids
     * @return
     */
    boolean batchDelContact(List<Integer> ids);
} 